/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package INTERFAZ;


import CONTROLES.ControlCliente;
import CONTROLES.ControlTipoCambio;
import Contabilidad.DarBajaActivo;
import Contabilidad.EgresosIngresos;
import Contabilidad.FormNewActivoFijo;
import Contabilidad.listaActivosFijos;
import FACTURAS.BuscarFactura;
import FACTURAS.LibroCompras;
import FACTURAS.LibroVentas;
import FACTURAS.RegistrarFacturaCompra;
import FACTURAS.RegistrarNuevaDosificacion;
import UTILITARIOS.General;
import UTILITARIOS.Herramienta;
import UTILITARIOS.PanelInformacion;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.*;
import javax.swing.JDesktopPane;
import javax.swing.JFrame;
import javax.swing.border.TitledBorder;

/**
 *
 * @author Administrador
 */
public class FormPrincipal extends JFrame implements Propiedades{

    private PanelPrincipal panelPrincipal;
    
    private JToolBar toolBarRegistro;
    private ToolBar1 barra;
    private JMenuBar menuBar;

    private JMenu archivo;
    private JMenu contabilidad;
    private JMenu ActivoFijo;
    private JMenu Reporte;

    private JMenu facturacion;
    private JMenuItem anularFactura;
    private JMenuItem crearFacturaVenta;
    private JMenuItem crearFacturaCompra;
    private javax.swing.JPopupMenu.Separator jSeparator1;
    private JMenuItem libroVentas;
    private JMenuItem libroCompras;
    private javax.swing.JPopupMenu.Separator jSeparator2;
    private JMenuItem dosificacionFactura;

    private JMenu herramienta;
    private JMenu superUsu;
    
    private JLabel identificar;
    private JLabel listaE;
    private JLabel sueld;
    
    private JButton btnListaEmpleados;
    private JButton btnPermisos;
    private JButton btnSueldos;
    private JButton btnHuella;
    
    private JPanel formAcciones;

    JMenuItem cerrar;
    JMenuItem cuentas;
    JMenuItem asiento;
    JMenuItem libroDiario;

    JMenuItem registrarActivo;
    JMenuItem verActivoFijo;
    JMenuItem DarBajaActivo;

    JMenuItem permisoSuperUsuario;
    
    private JMenuItem pagosPendiente;
    private JMenuItem pagosBanco;
    private JMenuItem pagosPagados;
    private javax.swing.JPopupMenu.Separator jSeparator12;
    private JMenuItem finInversion;
    private JMenuItem inversionesCerradas;
    private JMenuItem inversionesNuevas;
    private javax.swing.JPopupMenu.Separator jSeparator13;
    private JMenuItem sueldos;

    private JMenuItem rezagar;
    private JMenuItem permisos;
    private JMenuItem egresosIngresos;
    
    private JMenuItem buscarCliente;
    private JMenuItem listaEmpleos;
    private JMenuItem planesInv;

    private PanelInformacion pnlInformacion;
    private panelUsuario panelUsu;

    public String tipoUsuario;
    public String nombreUsuario;
    
    ControlTipoCambio c = new ControlTipoCambio();
   
    
    public FormPrincipal(String tipo,String sesion)
    {
        this.nombreUsuario=sesion;
        this.tipoUsuario= tipo;
        setLayout(new BorderLayout());
        setProperties();
	buildComponents();
	setPropertiesComponents();
	addComponents();
	addEvents();
        

	setPropiedades();
    }

    FormPrincipal() {
        PantallaPrincipal p = null;
    }

    public void setPropiedades()
    {
        General.frameGeneral = this;
        General.panelGeneral = panelPrincipal;


    }

    public String getNombreUsuario() {
        return nombreUsuario;
    }

    public void setNombreUsuario(String nombreUsuario) {
        this.nombreUsuario = nombreUsuario;
    }
    

    public void setTipoUsuario(String tipoUsuario) {

        System.out.println("el tipo de usuario es = " + tipoUsuario);
        this.tipoUsuario = tipoUsuario;
    }

    public panelUsuario getPanelUsu() {
        return panelUsu;
    }

    public void setPanelUsu(panelUsuario panelUsu) {
        this.panelUsu = panelUsu;
    }

    
    

    public void setProperties() {
        setTitle("SISTEMA DE ADMINISTRACION DE NFN INVERSIONES ");
        Image icon = new ImageIcon(getClass().getResource("/imagenes/nfn.png")).getImage();
        setIconImage(icon);
        Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
        setSize(d.width,d.height-40);
        barra  = new ToolBar1(this);
        barra.setSize(new Dimension(d.width,150));
        setResizable(false);
        
	setLocationRelativeTo(null);
	setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
        
        
	
    }

    public void buildComponents() {

        formAcciones = new JPanel();
        formAcciones.setLayout(new GridLayout(8, 1,1,1));
        
        panelPrincipal = new PanelPrincipal();
        panelPrincipal.setLayout(new BorderLayout());

        panelUsu = new panelUsuario(this,tipoUsuario);
        
        identificar = new JLabel("Identificación");
        identificar.setHorizontalAlignment(SwingConstants.CENTER);

        listaE = new JLabel("Lista Empleados");
        listaE.setHorizontalAlignment(SwingConstants.CENTER);

        sueld = new JLabel("Sueldos");
        sueld.setHorizontalAlignment(SwingConstants.CENTER);

        toolBarRegistro  = new JToolBar("Registro",1);

        menuBar = new JMenuBar();
        archivo = new JMenu("Archivo");
        cerrar = new JMenuItem("Cerrar Sesión");
        archivo.add(cerrar);
        
        contabilidad = new JMenu("Contabilidad");
        cuentas = new JMenuItem("Gestión de Cuentas");
        asiento = new JMenuItem("Registrar Asiento Contable");
        libroDiario = new JMenuItem("Generar Libro Diario");
 
        contabilidad.add(cuentas);
        contabilidad.add(asiento);
        contabilidad.add(libroDiario);

        ActivoFijo = new JMenu("Activos Fijos");
        registrarActivo = new JMenuItem("Registrar Activo Fijo");
        verActivoFijo = new JMenuItem("Lista Activos Fijos");
        DarBajaActivo = new JMenuItem("Dar de BAJA un Activo Fijo");
        ActivoFijo.add(registrarActivo);
        ActivoFijo.add(verActivoFijo);
        ActivoFijo.add(DarBajaActivo);

        Reporte = new JMenu("Reportes");
        pagosPendiente = new JMenuItem("Lista de INTERESES Pendientes");
        pagosBanco = new JMenuItem("Lista de INTERESES Pendientes por Banco");
        pagosPagados = new JMenuItem("Lista de INTERESES Pagados");
        pagosBanco = new JMenuItem("Lista de INTERESES Pendientes por Banco");
        jSeparator12 = new javax.swing.JPopupMenu.Separator();
        inversionesNuevas = new JMenuItem("Listado de Inversiones APERTURADAS");
        finInversion = new JMenuItem("Listado de Inversiones por VENCER");
        inversionesCerradas = new JMenuItem("Listado de Inversiones CERRADAS y CANCELADAS");
        jSeparator13 = new javax.swing.JPopupMenu.Separator();
        sueldos = new JMenuItem("Lista de Sueldos Pagados");
        Reporte.add(pagosPendiente);
        Reporte.add(pagosBanco);
        Reporte.add(pagosPagados);
        Reporte.add(jSeparator12);
        Reporte.add(inversionesNuevas);
        Reporte.add(finInversion);
        Reporte.add(inversionesCerradas);
        Reporte.add(jSeparator13);
        Reporte.add(sueldos);

        facturacion = new JMenu("Facturación");
        anularFactura = new JMenuItem("Buscar Factura (Ventas)");
        crearFacturaVenta = new JMenuItem("Crear factura (Ventas)");
        crearFacturaCompra = new JMenuItem("Registrar factura (Compras)");
        jSeparator1 = new javax.swing.JPopupMenu.Separator();
        libroVentas = new JMenuItem("Libro de Ventas IVA");
        libroCompras = new JMenuItem("Libro de Compras IVA");
        jSeparator2 = new javax.swing.JPopupMenu.Separator();
        dosificacionFactura = new JMenuItem("Dosificacion");
        //facturacion.add(crearFacturaVenta);
        facturacion.add(anularFactura);
        facturacion.add(crearFacturaCompra);
        facturacion.add(jSeparator1);
        facturacion.add(libroVentas);
        facturacion.add(libroCompras);
        facturacion.add(jSeparator2);
        facturacion.add(dosificacionFactura);

        herramienta = new JMenu("Herramientas");
        rezagar = new JMenuItem("Rezagar Pagos");
        permisos = new JMenuItem("Asignar Permisos");
        egresosIngresos = new JMenuItem("EGRESOS Vs INGRESOS Diarios");
        buscarCliente = new JMenuItem("Buscar CLIENTE");
        listaEmpleos = new JMenuItem("Lista de EMPLEOS");
        planesInv = new JMenuItem("Editar PLANES DE INVERSION");
        herramienta.add(rezagar);
        herramienta.add(permisos);
        herramienta.add(egresosIngresos);
        herramienta.add(buscarCliente);
        herramienta.add(listaEmpleos);
        //herramienta.add(planesInv);

        superUsu = new JMenu("Super Usuario");
        permisoSuperUsuario = new JMenuItem("permisos SUPERUSUARIO");

        superUsu.add(permisoSuperUsuario);

        btnListaEmpleados = new JButton();
        btnPermisos = new JButton();
        btnSueldos = new JButton();
        btnHuella = new JButton();

        pnlInformacion = new PanelInformacion();
        

        //ImageIcon imagenHuella=new ImageIcon(new ImageIcon(getClass().getResource("imagenes.iconos/lector.png")).getImage().getScaledInstance(56, 56, 1));
        btnHuella.setIcon(new ImageIcon(getClass().getResource("/imagenes/lector.png")));
        btnHuella.setPreferredSize(new Dimension(56, 56));
        btnHuella.setOpaque(false);
        btnHuella.setBorderPainted(true);
        btnHuella.setToolTipText("Identificar Cliente");

        ImageIcon cli=new ImageIcon(getClass().getResource("/imagenes/lista.png"));
        btnListaEmpleados.setIcon(cli);
        btnListaEmpleados.setPreferredSize(new Dimension(56, 56));
        btnListaEmpleados.setBorderPainted(true);
        btnListaEmpleados.setToolTipText("ver Tabla de empleados");

        ImageIcon sueldos=new ImageIcon(getClass().getResource("/imagenes/sueldo.png"));
        btnSueldos.setIcon(sueldos);
        btnSueldos.setPreferredSize(new Dimension(56, 56));
        btnSueldos.setBorderPainted(true);
        btnSueldos.setToolTipText("Tabla de Sueldos");


        ImageIcon per=new ImageIcon(getClass().getResource("/imagenes/sueldo.png"));
        btnPermisos.setIcon(per);
        btnPermisos.setPreferredSize(new Dimension(56, 56));
        btnPermisos.setBorderPainted(true);
        btnPermisos.setToolTipText("Registrar tipo de Permiso");


    }

    public void setPropertiesComponents() {
        panelPrincipal.setBackground(Color.BLACK);
	panelPrincipal.setBorder(BorderFactory.createLineBorder(Color.BLUE, 2));


        toolBarRegistro.setPreferredSize(new Dimension(130, 450));
        toolBarRegistro.setFloatable(false);
        toolBarRegistro.setBorder(BorderFactory.createTitledBorder(null, "",TitledBorder.CENTER , TitledBorder.DEFAULT_POSITION,null,Color.RED));

        formAcciones.setBorder(BorderFactory.createTitledBorder(null, "Acciones",TitledBorder.CENTER , TitledBorder.DEFAULT_POSITION,null,Color.BLACK));
        formAcciones.setBackground(new Color(220, 228, 238));

        pnlInformacion.setBackground(Color.BLACK);


    }

    public String getTipoUsuario() {
        return tipoUsuario;
    }

    public void addComponents() {        

        panelPrincipal.add(getPanelUsu(),BorderLayout.NORTH);

        if(tipoUsuario.equalsIgnoreCase("ADMINISTRADOR") && Bienvenida.user.getToken().equalsIgnoreCase("INGRESAR") ){                   

            formAcciones.add(btnHuella);
            formAcciones.add(identificar);
            formAcciones.add(btnListaEmpleados);
            formAcciones.add(listaE);
            formAcciones.add(btnSueldos);
            formAcciones.add(sueld);
            
             menuBar.add(archivo);
//             menuBar.add(contabilidad);
             menuBar.add(ActivoFijo);
             menuBar.add(Reporte);
             menuBar.add(facturacion);
             menuBar.add(herramienta);           
             menuBar.add(superUsu);
        }
        else{
            if(tipoUsuario.equalsIgnoreCase("ADMINISTRADOR") && Bienvenida.user.getToken().equalsIgnoreCase("NOINGRESAR") )
            {
        
                            barra.btnPlanInversion.setVisible(false);
                            permisos.setVisible(false);
                            listaEmpleos.setVisible(false);
                            
                            formAcciones.add(btnHuella);
                            formAcciones.add(identificar);
                            formAcciones.add(btnListaEmpleados);
                            formAcciones.add(listaE);
                           // formAcciones.add(btnSueldos);
                           // formAcciones.add(sueld);

                            menuBar.add(archivo);
                    //             menuBar.add(contabilidad);
                             menuBar.add(ActivoFijo);
                             menuBar.add(Reporte);
                             menuBar.add(facturacion);
                             menuBar.add(herramienta);
                             
                            
            }
             else {
                    if(tipoUsuario.equalsIgnoreCase("CAJERO") && Bienvenida.user.getToken().equalsIgnoreCase("NOINGRESAR"))
                    {

                            barra.btnEmpleo.setEnabled(false);
                            barra.btnEmpleado.setEnabled(false);
                            barra.btnSucursal.setEnabled(false);
                            barra.btnPlanInversion.setVisible(false);
                            pagosPendiente.setEnabled(false);
                            pagosBanco.setEnabled(false);
                            finInversion.setEnabled(false);
                            sueldos.setEnabled(false);

                            formAcciones.add(btnHuella);
                            formAcciones.add(identificar);
                            formAcciones.add(btnSueldos);
                            formAcciones.add(sueld);

                            menuBar.add(archivo);
      
                    }else{
                         if(tipoUsuario.equalsIgnoreCase("SECRETARIA") && Bienvenida.user.getToken().equalsIgnoreCase("NOINGRESAR"))
                         {                              
        
                                barra.btnEmpleo.setEnabled(false);
                                barra.btnEmpleado.setEnabled(false);
                                barra.btnPlanInversion.setVisible(false);
                                barra.btnSucursal.setVisible(false);
                                pagosPendiente.setEnabled(false);
                                pagosBanco.setEnabled(false);
                                finInversion.setEnabled(false);
                                sueldos.setEnabled(false);

                                
                                permisos.setVisible(false);
                                listaEmpleos.setVisible(false);
                                rezagar.setVisible(false);
                                egresosIngresos.setVisible(false);

                                formAcciones.add(btnHuella);
                                formAcciones.add(identificar);
                                //formAcciones.add(btnSueldos);
                                //formAcciones.add(sueld);

                                menuBar.add(archivo);
//                                menuBar.add(contabilidad);
                                menuBar.add(Reporte);
                                menuBar.add(ActivoFijo);
                                menuBar.add(facturacion);
                                menuBar.add(herramienta);
                                
                                dosificacionFactura.setEnabled(false);
                         }else{
                                JOptionPane.showMessageDialog(null, "No tiene permisos asignados ", "Advertencia", JOptionPane.OK_OPTION);
                                System.exit(0);
                         }
                    }
            }      
       }
        setJMenuBar(menuBar);
       toolBarRegistro.add(formAcciones);

   //add(fondo);
        add(panelPrincipal,BorderLayout.CENTER);
        add(pnlInformacion,BorderLayout.SOUTH);
        add(toolBarRegistro,BorderLayout.WEST);
        add(barra,BorderLayout.NORTH);
    }
    int i = 1;
    PantallaPrincipal pp;
    public void setPantalla(PantallaPrincipal p )
    {
        this.pp = p;
    }

    public void addEvents() {
        final FormPrincipal padre = this;
        
        btnHuella.addActionListener( new ActionListener(){
                public void actionPerformed(ActionEvent e) {
                   

                    
                     PantallaPrincipal p = new PantallaPrincipal();
                     p.setParent(padre);
                     Herramienta.centerOnScreen(p);
                     p.setAlwaysOnTop(true);
                     p.setVisible(true);
                     btnHuella.setEnabled(false);
                     barra.getBtnCliente().setEnabled(false);
                     
              }
        });

         btnListaEmpleados.addActionListener( new ActionListener(){
			public void actionPerformed(ActionEvent e) {

                            ListaEmpleado l = new ListaEmpleado(padre, true);
                            Herramienta.centerOnScreen(l);
                            l.setModal(true);
                            l.setVisible(true);
			}
		});


                 btnSueldos.addActionListener( new ActionListener(){
			public void actionPerformed(ActionEvent e) {                        
                            ListaEmp u = new ListaEmp(padre,true);
                            Herramienta.centerOnScreen(u);
                            u.setVisible(true);                        
			}
		});

            cuentas.addActionListener( new ActionListener(){
			public void actionPerformed(ActionEvent e) {
                        /*
                            FormTipoContrato u = new FormTipoContrato();
                             Herramienta.centerOnScreen(u);
                                    u.setVisible(true);
                                    */
			}
		});

             libroDiario.addActionListener( new ActionListener(){
			public void actionPerformed(ActionEvent e) {
                        /*
                            FormPermiso u = new FormPermiso();
                             Herramienta.centerOnScreen(u);
                                    u.setVisible(true);
                                    */
			}
		});

            pagosPendiente.addActionListener( new ActionListener(){
			public void actionPerformed(ActionEvent e) {
                        
                            listaPagosPendientes lista = new listaPagosPendientes(padre, true);
                            Herramienta.centerOnScreen(lista);
                            lista.setVisible(true);
			}
		});

            pagosBanco.addActionListener( new ActionListener(){
			public void actionPerformed(ActionEvent e) {

                            listaPagosPendientesBanco lista = new listaPagosPendientesBanco(padre, true);
                            Herramienta.centerOnScreen(lista);
                            lista.setVisible(true);
			}
		});
                pagosPagados.addActionListener( new ActionListener(){
			public void actionPerformed(ActionEvent e) {

                            listaPagosPagados lista = new listaPagosPagados(padre, true);
                            Herramienta.centerOnScreen(lista);
                            lista.setVisible(true);
			}
		});

            registrarActivo.addActionListener( new ActionListener(){
			public void actionPerformed(ActionEvent e) {
                            FormNewActivoFijo af = new FormNewActivoFijo(padre);
                            Herramienta.centerOnScreen(af);
                            af.setModal(true);
                            af.setVisible(true);


			}
		});

                verActivoFijo.addActionListener( new ActionListener(){
			public void actionPerformed(ActionEvent e) {
                            listaActivosFijos af = new listaActivosFijos(padre, true);
                            Herramienta.centerOnScreen(af);
                            af.setModal(true);
                            af.setVisible(true);
			}
		});

                DarBajaActivo.addActionListener( new ActionListener(){
                    public void actionPerformed(ActionEvent e) {
                        DarBajaActivo af = new DarBajaActivo(padre, true);
                        Herramienta.centerOnScreen(af);
                        af.setModal(true);
                        af.setVisible(true);
                    }
		});

                finInversion.addActionListener( new ActionListener(){
			public void actionPerformed(ActionEvent e) {
                            listaInversionesPorConcluir lista = new listaInversionesPorConcluir(padre, true);
                            Herramienta.centerOnScreen(lista);
                            lista.setVisible(true);
			}
                });
                inversionesCerradas.addActionListener( new ActionListener(){
			public void actionPerformed(ActionEvent e) {
                            listaInversionesCerradas lista = new listaInversionesCerradas(padre, true);
                            Herramienta.centerOnScreen(lista);
                            lista.setVisible(true);
			}
		});
                inversionesNuevas.addActionListener( new ActionListener(){
			public void actionPerformed(ActionEvent e) {
                            listaInversionesNuevas lista = new listaInversionesNuevas(padre, true);
                            Herramienta.centerOnScreen(lista);
                            lista.setVisible(true);
			}
		});
              sueldos.addActionListener( new ActionListener(){
			public void actionPerformed(ActionEvent e) {
                            listaSueldosPagados lista = new listaSueldosPagados(padre, true);
                            Herramienta.centerOnScreen(lista);
                            lista.setVisible(true);
			}
		});

                anularFactura.addActionListener(new ActionListener() {
                    public void actionPerformed(ActionEvent e){
                        BuscarFactura s = new BuscarFactura(padre, true);
                        Herramienta.centerOnScreen(s);
                        s.setVisible(true);
                    }
                });

                crearFacturaVenta.addActionListener(new ActionListener() {
                    public void actionPerformed(ActionEvent e) {
                        ShowCuentas s = new ShowCuentas(padre, true, new ControlCliente().dameCliente(1));
                        Herramienta.centerOnScreen(s);
                        s.setVisible(true);
                    }
                });

                crearFacturaCompra.addActionListener(new ActionListener() {
                    public void actionPerformed(ActionEvent e) {
                        RegistrarFacturaCompra fac = new RegistrarFacturaCompra(padre);
                        Herramienta.centerOnScreen(fac);
                        fac.setVisible(true);
                    }
                });                

                libroVentas.addActionListener(new ActionListener() {
                    public void actionPerformed(ActionEvent e) {
                        LibroVentas l = new LibroVentas(padre, true);
                        Herramienta.centerOnScreen(l);
                        l.setVisible(true);
                    }
                });

                libroCompras.addActionListener(new ActionListener() {
                    public void actionPerformed(ActionEvent e) {
                        LibroCompras l = new LibroCompras(padre, true);
                        Herramienta.centerOnScreen(l);
                        l.setVisible(true);
                    }
                });

                dosificacionFactura.addActionListener(new ActionListener() {

                    public void actionPerformed(ActionEvent e) {
                        RegistrarNuevaDosificacion d = new RegistrarNuevaDosificacion(padre);
                        Herramienta.centerOnScreen(d);
                        d.setVisible(true);
                    }
                });

                rezagar.addActionListener( new ActionListener(){
			public void actionPerformed(ActionEvent e) {
                            listaPagosPorRezagar lista = new listaPagosPorRezagar(padre, true);
                            Herramienta.centerOnScreen(lista);
                            lista.setVisible(true);
			}
		});

                permisos.addActionListener( new ActionListener(){
			public void actionPerformed(ActionEvent e) {
                            ListaPermisos lista = new ListaPermisos(padre, true);
                            Herramienta.centerOnScreen(lista);
                            lista.setVisible(true);
			}
		});
                egresosIngresos.addActionListener( new ActionListener(){
			public void actionPerformed(ActionEvent e) {
                            EgresosIngresos ei = new EgresosIngresos(padre, true);
                            Herramienta.centerOnScreen(ei);
                            ei.setVisible(true);
			}
		});

                permisoSuperUsuario.addActionListener( new ActionListener(){
			public void actionPerformed(ActionEvent e) {
                            permisosSuperUsu ei = new permisosSuperUsu(padre, true);
                            Herramienta.centerOnScreen(ei);
                            ei.setVisible(true);
			}
		});

                buscarCliente.addActionListener( new ActionListener(){
			public void actionPerformed(ActionEvent e) {
                            BuscarCliente ei = new BuscarCliente(padre, true);
                            Herramienta.centerOnScreen(ei);
                            ei.setVisible(true);
			}
		});

                listaEmpleos.addActionListener( new ActionListener(){
			public void actionPerformed(ActionEvent e) {
                            ListaEmpleos ei = new ListaEmpleos(padre, true);
                            Herramienta.centerOnScreen(ei);
                            ei.setVisible(true);
			}
		});
                /*
                planesInv.addActionListener( new ActionListener(){
			public void actionPerformed(ActionEvent e) {
                            FormEditarPlanInversion ei = new FormEditarPlanInversion(padre);
                            Herramienta.centerOnScreen(ei);
                            ei.setModal(true);
                            ei.setVisible(true);
			}
		});*/

                 cerrar.addActionListener( new ActionListener(){
			public void actionPerformed(ActionEvent e) {

                          /*  int res = JOptionPane.showConfirmDialog(null, "Seguro que quiere salir de la Aplicacion", "Advertencia", JOptionPane.OK_CANCEL_OPTION);
                                if(res ==0)
                                    System.exit(0);
                                    */
                             JOptionPane.showMessageDialog(null, "Salir de la Sesión!!", "Advertencia", JOptionPane.INFORMATION_MESSAGE);
                                dispose();

                            Sesion u = new Sesion();
                             Herramienta.centerOnScreen(u);
                                    u.setVisible(true);

			}
		});

               
       addWindowListener( new WindowAdapter(){
			@Override
			public void windowClosing(WindowEvent e) {
				int res = JOptionPane.showConfirmDialog(null, "Seguro que quiere salir de la Aplicacion", "Advertencia", JOptionPane.OK_CANCEL_OPTION);
                                if(res ==0)
                                    System.exit(0);
			}
		});
	}
    

    class PanelPrincipal extends JDesktopPane{

        private static final long serialVersionUID = 1L;
		private java.awt.Image image;

	    public PanelPrincipal() {
	        super();
	        image = new ImageIcon(getClass().getResource("/imagenes/fondoSistema.png")).getImage();
            }

               

	    @Override
	    protected void paintComponent(Graphics g) {
	        super.paintComponent(g);

	        /*if(getWidth() > getHeight()){
	        	image = image.getScaledInstance(getWidth(), -1, java.awt.Image.SCALE_SMOOTH);
	        }else{
	        	image = image.getScaledInstance(-1, getHeight(), java.awt.Image.SCALE_SMOOTH);
	        }*/
	        int h = (int)image.getHeight(null)/2;
	        int w = (int)(image.getWidth(null)/2);
	        g.drawImage(new ImageIcon(image).getImage(), (int)getWidth()/2 - w, (int)getHeight()/2 - h, null);

	    }
	}

    public JButton getBtnHuella() {
        return btnHuella;
    }

    public void setBtnHuella(JButton btnHuella) {
        this.btnHuella = btnHuella;
    }

    public ToolBar1 getBarra()
    {
        return barra;
    }
    

    public static void main(String[] args) {
        FormPrincipal p = new FormPrincipal("CAJERO","MARCO");
        p.setVisible(true);
    }

   }




